home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ShareWare OnLine 2
/
ShareWare OnLine Volume 2 (CMS Software)(1993).iso
/
graphics
/
fractk17.zip
/
FRACTK17.DOC
< prev
Wrap
Text File
|
1993-01-14
|
8KB
|
205 lines
-1-
FRACT_KL
DESCRIPTION:
Fract_kl is a "screen idle" program based on fractal sets.
Simply type "Fract_kl" and the default settings will create
paisley-like patterns created from fractal algorithms. The
default setting creates Julia sets with random windows and
random selection of palette.
VGA (MODE 13H) ONLY!!!
Press escape to exit.
OPTIONS "On the fly":
Many options can be accessed without stopping the display
simply by typing a letter (WITHOUT <enter>).
+ or - will change the delay setting to speed up or slow down
the program.
P{n} will select palette number n, where n=0 to 9.
P{x} will select palettes from 10 to 71 when x='A' to '~'
based on ascii value of x-55. If n is not specified,
the palette options menu will appear. Note: palettes 72
through 89 can only be accessed through the palette options
menu.
Pressing 1-9 will set the minimum colorstep.
'S' will save the image to disk when completed or when
paused. Images will be saved as FRACTKnn.BLD & FRACTKnn.PLT
to the default drive and directory (will start @ nn=0).
'M' will select Mandelbrot based images.
'J' will select Julia based images.
'W' toggles a wraparound filter on/off. An integer algorithm
is used to calculate the pixels. Overflow conditions will
produce artifactual detail in normally "quiet" zones of the
images. When the filter is in place (default is ON), this
noise is suppressed and true fractal images are produced.
<space> will pause the image when completed. Once paused,
typing 'R' will rotate palette (+ & - now control the
direction of rotation). Image can be saved while paused.
Press <esc> to exit pause mode.
'A' will toggle the random palette change- new palette for
each new image.
<esc> exits the current function or program.
-2-
OPTIONS MENUS:
'C' will bring up the color options menu where the minimum
and maximum step values can be changed. Step values are
determined by minimumstep + random(maximumstep).
'P' (alone) will bring up the Palette options menu.
'H' or 'F1' will call the Help! screen.
'I' will allow changing of the value for maximum iterations.
The higher the value, the more detail, but less speed.
GLOBAL OPTIONS MENU:
Any character not listed above will bring up the global
options menu where all parameters can be altered.
My default values are listed for informational purposes.
Enter a new value or just press <enter> and the value will
stay at your preset level.
The lower limit of the real and imaginary windows for the
fractal calculation may be set. The actual lower limit will
be randomly selected as a value equal to or greater than this
lower limit.
The MAXimum and MINimum STEP for real and imaginary windows
may also be set. The actual width of the window will be a
random value between MAXSTEP and zero plus MINSTEP.
The maximum and minimum color steps are selected such that
the step between adjacent colors is random(maximum) +
minimum.
Ninety palette options, including a random palette which
changes each time selected, are included. The Eightcolor
palette is most interesting if a minimum color step of one is
used. Most palettes are unnamed.
The Wraparound filter can be enabled or disabled.
Automatic palette change can be enabled or disabled.
Maximum iterations are next. More iterations will increase
the detail, but slow program.
Next is the delay factor. The timing routine automatically
selects a value based on the speed of your machine, but other
values may be entered either here of by pressing + (faster)
or - (slower) while in the image screen. If it is still to
slow, decrease the iteration value in this menu or by using
the 'I' command while in the image screen.
Finally select between Julia or Mandelbrot based images.
-3-
COMMAND LINE OPTIONS:
FRACT_KL <S>nnn, where S is a switch listed below, entered in
any order.
Dnnnnn: Set Delay factor where nnnnn= delay constant desired.
(overrides the automatic timer selection).
Innn: Set maximum number of Iterations.
Pnn: Set Palette number. Specifying a palette will
also turn off the automatic palette change feature.
Wn: Set Wraparound filter: 0 off, 1 on.
(default is off);
Nn: Set miNimum colorstep.
Xn: Set maXimum colorstep.
J: Julia based images (Julia is default).
A-: Turn off automatic palette change.
-4-
BRIEF DISCUSSION:
The images are generated from a fractal algorithm using
integer math. While experimenting with different integer
subroutines I found that a "wraparound" effect occurred at
certain settings which added detail to otherwise boring
fringe areas of the fractal sets. While the effect can be
useful for a random program such as this, I have added a
filter toggle to create true fractal images.
While I do not have the patience to type an in depth
discussion of fractal geometry, I offer a brief description
for those not familiar with the basics.
The Fractal images are generated from the behavior of a given
value when subjected to the general formula:
X(k+1) = fn(X(k)) + c
The value of X will tend to go to infinity or a finite
attractor (such as zero in this program). The function used
for this program (and most fractal programs) is X*X. When
the function exceeds an arbitrary bailout value, it is
assumed it is headed for infinity and the starting point is
assigned the value k (the number of iterations). X is a
complex number (X = a + bi).
Mandelbrot sets are created starting with x = 0 and plotting
the behavior as the constant c is varied.
Julia sets are calculated using a preselected value for c and
plotting the behavior as the starting a and b components of X
are varied.
In my program, the calculations are made only for one
quadrant of the screen and mirrored to the other three
quadrants for a kaleidoscopic effect. Julia sets are
selected at random along six lines "drawn" on a Mandelbrot
set. The real and imaginary boundaries for the Julia sets
are randomly selected.
VER 1.7: Fixed "breakout" bug that caused unexpected exits
on some systems.
CREDITS:
The program was created using Turbo Pascal 5.0 mixed with
assembly code. The program was inspired by the (incredible)
FRACTINT program from which some of the palettes have been
lifted.
Enjoy.
Richard E. Barlow
122 Pebble Beach Dr.
Slidell, LA 70458
(504) 641-9549